using System;

namespace Lombiq.HelpfulLibraries.Common.Utilities;

public static class ExceptionHelpers
{
    /// <summary>
    /// 如果提供的 <paramref name="value"/> 对象为 <see langword="null"/>，则抛出 <see cref="ArgumentNullException"/>。
    /// </summary>
    public static void ThrowIfNull(object value, string paramName, string message = null)
    {
        if (value == default) throw new ArgumentNullException(paramName, message);
    }

    /// <summary>
    /// 如果提供的 <paramref name="value"/> 字符串为 <see langword="null"/> 或空，则抛出 <see cref="ArgumentNullException"/>。
    /// </summary>
    public static void ThrowIfIsNullOrEmpty(string value, string paramName, string message = null)
    {
        if (string.IsNullOrEmpty(value)) throw new ArgumentNullException(paramName, message);
    }
}
